import Vue from "vue";
import VueRouter from "vue-router";
Vue.use(VueRouter);

// 把所有的路由配置文件写在 modules 下面
// 获取 modules 下面的所有 js 文件
const constantModulesFiles = require.context('./modules', true, /\.*\.js/);
// 通过此方法将所有路由配置文件 js 拼接
const constantRoutes = constantModulesFiles.keys().reduce((modules, modulePath) => {
  const value = constantModulesFiles(modulePath).default;
  Array.isArray(value) ? modules.push(...value) : modules.push(value);
  return modules;
}, []);
// console.log(constantRoutes);
// 在配置路由信息字段直接解构
const routes = [...constantRoutes];
const router = new VueRouter({
  routes,
  // 设置在路由跳转后自动滚动到顶部位置
  scrollBehavior (to, from, saveTop){
    if(saveTop){
      return saveTop
    } else {
      return {x : 0, y : 0}
    }
  }
});
router.beforeEach((to,from,next)=> {
  console.log(to,from)
  if(to.meta.token){
    if(localStorage.getItem('token')){
      next()
    }else{
      next({
        path:"login",
        query:{
          r:to.fullPath
        }
      })
    }
  }
  next()
})
export default router;



